A data grid can utilize controls that facilitate automated generation of columns and rows in a document. The controls can be used to format objects added to a column depending on the public properties of the object. Examples include textbox columns for string values, checkbox columns for Boolean values, combobox columns for enumerable values, and hyperlink columns for uniform resource indicator (URI) values.
In addition to automatic generation of columns, the controls can include a header control, display control, and edit control. Further functions include grouping, sorting, reorganizing, resizing, row details, alternating backgrounds, frozen columns, header visibility, and other functions. To perform these functions, the control can be retrieved and rendered when displaying and editing data in the data grid.